iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 5
0
自我挑戰組

非本科系也能懂和該懂得作業系統系列 第 5

Day 5 - Process, Instruction, Program

  • 分享至 

  • xImage
  •  

非本科系也該懂和能懂的作業系統 Day 5

Program v.s. Process v.s. Instruction

為了明天我想要介紹Interrupt這個機制,今天的一開始我想要先談談program, process, instruction這三個容易混淆的名詞,作業系統很大的一個門檻就是,會被大量的名詞和縮寫困擾,但其實只要慢慢的去理解不難融會貫通。

Program

首先第一個要講的是Program,我認為他也是最具體最容易理解的,我小時候喜歡玩電腦遊戲,那個時候網路的頻寬和速度還沒有起來,也沒有像是Steam的遊戲平台,所以遊戲公司通常都是販賣光碟,印象最深刻的就是表哥那時候借我的「軒轅劍參外傳-天之痕」遊戲碟,將光碟放入光碟機後能夠發現資料夾內有一堆檔案,這些東西就是著遊戲公司放在裡面的Program。

如果你是開發人員,那寫過的第一支Program八九不離十會被命名為Hello World,Program由程式碼經過編譯(有的不用編譯)而成,Program僅僅只是檔案,存放在硬碟裡面(binary)。

Process

當興致沖沖的去執行開始遊戲的.exe後,跳出遊戲的載入和起始畫面,這個時候就是系統會把在儲存設備(硬碟、光碟)中的Program載入到記憶體內,並且Run起一或多支的Process,在Windows環境可以從工作管理員看到有Process在跑,吃多少的CPU、記憶體資源。(mac可以從資源監視器查看,Linux是指令top)。

所以Process就像是Program被run起來的實體,儲存在記憶體裡面。

Instruction

當Process被起起來存放在記憶體之後,會成為一個instruction的集合,instruction比前兩者更為抽象,不太像是我們平常寫的程式,在一個程式的編譯過程,是將我們所撰寫的程式語言與語法,轉換為處理器看得懂的machine code,處理器在執行machine code的時候,會使用處理器內的指令集(Instruction Set),處理器每次處理的一個單位,及為一個instruction。


上一篇
Day 4 - 作業系統歷代的演進
下一篇
Day 6 - Interrupt的機制
系列文
非本科系也能懂和該懂得作業系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言